package com.example.foobar.dao.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.example.foobar.entity.DaOfficialAccount;
import com.example.foobar.param.DaOfficialAccountPageParam;
import io.geekidea.springbootplus.framework.common.service.BaseService;
import io.geekidea.springbootplus.framework.core.pagination.Paging;

import java.util.List;

/**
 * 本地公众号信息 服务类
 *
 * @author 郑英奔
 * @since 2021-05-31
 */
public interface DaOfficialAccountDaoService extends BaseService<DaOfficialAccount> {

    /**
     * 保存
     *
     * @param daOfficialAccount
     * @return
     * @throws Exception
     */
    boolean saveDaOfficialAccount(DaOfficialAccount daOfficialAccount) throws Exception;

    /**
     * 修改
     *
     * @param daOfficialAccount
     * @return
     * @throws Exception
     */
    boolean updateDaOfficialAccount(DaOfficialAccount daOfficialAccount) throws Exception;

    /**
     * 删除
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteDaOfficialAccount(Long id) throws Exception;


    /**
     * 获取分页对象
     *
     * @param daOfficialAccountPageParam
     * @return
     * @throws Exception
     */
    Paging<DaOfficialAccount> getDaOfficialAccountPageList(DaOfficialAccountPageParam daOfficialAccountPageParam) throws Exception;

    int delete(LambdaQueryWrapper<DaOfficialAccount> daOfficialAccountLambdaQueryWrapper);

    void insertBatch(List<DaOfficialAccount> collect);

    DaOfficialAccount selectOne(LambdaQueryWrapper<DaOfficialAccount> wrapper);

    List<DaOfficialAccount> getDaOfficialAccountListByUserId(Long userId);
}
